Making applications for Opera TV Store
- Introduction
- Building your application
- Requirements specific to Opera TV applications
- Submitting to the Opera TV Store
Introduction
The Opera TV Store is a moderated, hosted catalogue of TV-specific web applications. Developers can submit and share their apps through this portal. It presents end users with a storefront (itself a web-based application) which allows them quick and easy access to the applications.
Most applications in the Opera TV Store will be presented as static thumbnail images in the dashboard. Selected content partners will additionally have the opportunity to provide a dynamic minimized view directly in the dashboard itself (inside an iframe) - this allows for live updates (e.g. weather information) and notifications. In both cases, end users will be able to select an application and launch it in full-screen mode.
The full-screen web applications themselves are not hosted directly on Opera's servers. The Opera TV Store only acts as a directory, with references to the actual URLs of the applications. However, if an application provides a minimized version running in the dashboard, the necessary files will be served directly from Opera's own servers.
Building your application
Applications for the Opera TV Store are, in essence, regular web applications, which are rendered by the Opera Devices SDK browsing environment on the user's TV. As such, developers can tap into all the traditional web technologies (HTML5, CSS 3, JavaScript, SVG) supported by the Opera browser. See our documentation on web specifications supported by Opera (and in particular our comparison of support in different Opera product lines) for a thorough breakdown.
Although the Opera Devices SDK is built on the same core rendering engine as our desktop browsers, there are still platform-specific APIs and subtle integration differences that developers need to be aware of. For this reason, it is recommended that developers test their applications on an actual TV running the Opera SDK browser and/or with the Opera TV Emulator. The package comes with initial documentation on how to set up and run the emulator, how to debug web applications (locally or remotely) with Opera Dragonfly, and information on SDK-specific features that may be present on devices.
Developing web content for TV brings with it its own challenges - from a difference in user interaction to considerations regarding device capabilities and performance optimisation. For an introduction to some of the necessary adaptations and techniques see our documentation on creating web content for TV and other articles in the TV section of the Dev.Opera developer resource.
Requirements specific to Opera TV applications
Due to the way in which applications will be integrated into, and launched from, the Opera TV Store, developers need to be aware of the following additional requirements:
Resolution
All TV Store applications have to support 1280×720 resolution. Other resolutions (1920×1080, 960×540) are optional.
APIs for application
All TV Store applications should use the Opera TV Store API, which includes the Functional Keys API and Closing Application API. This API can easily be added to an application with the inclusion of the following script element:
<script src="http://tv.opera.com/js-api/api.js"></script>
Functional Keys API
The Functional Keys API provides a set of device-specific keycode constants to correctly handle remote control key events. Please check the Functional Keys specification for further details.
Closing application API
Once an application is launched from the dashboard, it is effectively opened full screen in a new window. The Opera Devices SDK rendering the portal and application will, by default, not present any further standard interface elements to the user. However, users will be able to close the application and return to their dashboard via the remote control's EXIT and/or RETURN key. It's recommended, but not required, that developers provide an explicit option or button in their UI to close the application with the custom opera.app.close() method.
Minimized views
Selected applications can provide a live, interactive view directly inside the portal's dashboard. As this option is only provided to selected content partners, developers wishing to take advantage of this functionality should contact tvstore-content@opera.com directly for further information.
Submitting to the Opera TV Store
Once your application is ready, it can be submitted to the Opera TV Store. Log in to the Publishing Portal and follow the steps required in the submission dialog. You will need to provide additional information about your application:
- company information (name, address, email)
- application name
- application description and summary
- author name
- support email
- thumbnail (JPG or PNG format, 480×270)
- icons (64×64px and 512×512px are required)
- screenshots of the application (620×346px or larger, with a 16:9 aspect ratio)
- URL to full-screen version of the application hosted at the external server
- languages supported by the TV application
- the type of TV the application was designed for (e.g. '44" Full-HD TV')
Additionally, developer will need to assign their application to one predefined category provided by the Opera TV Store's catalogue.
Please contact Opera at tvstore-content@opera.com if you need to have possibility to further limit the availability of your application by:
- device manufacturers names
- device names
Once submitted, the only way to modify the application's metadata is to submit a new version - developers will not have direct access to edit the information stored in the portal.
When you submit your application, we will evaluate it according to a set of acceptance criteria. If it doesn't satisfy all of them, the application will be rejected, so read them carefully. You can track the status at the submitted application page.
Acceptance criteria
Your application must satisfy the following acceptance criteria:
- It must perform as described.
- There should not be obvious bugs.
- The icons, screenshots and graphic design must be of acceptable quality. Anti-aliasing PNGs with transparent backgrounds are preferred. Note that Interlaced PNG-files are currently not supported, due to a limitation of the image library we're using. Avoid this effect in your screenshots.
- If defined, the support webpage must be relevant to the application.
- It must not collect private information without authorization from the user.
- It must not unlawfully incorporate third party information, code or graphics.
- It must not include 'Opera' in the title or any other Opera branding that can indicate the application was created by Opera Software.
- It must comply with the Terms of Service.
- Summary and description of Content must be written in English, be grammatically correct and accurately describe the Content
- The summary must answer the question: what does your application do? It must be composed of grammatically correct and complete sentences.
- The description must answer: 1) How do you use the application? 2) What does the application look like?
- It supports 1280×720 resolution
- It supports Opera TV Store APIs for application
- It contains support email that is easy to find and use by the end users
- There must not be any links to non-TV pages from within the app.
- All links in your app must point to pages that exist
- All audio/video content can be played without skipping
- All audio/video content can be stopped/started without any unusual/unexpected behavior
- Your app should degrade gracefully when the network connection is lost
- Your app should recover gracefully when the network connection is restored
- In instances where your application cannot be used from certain parts of the world, an informative explanation should be provided to the user
- The app can be launched and exited without any unusual/unexpected behavior.
- For launch times longer than 5 seconds, ensure that there is some progress indicator so as not to give the user the impression that the app has frozen.
- App launch time should take a reasonable amount of time – 30 seconds is too long
- Commercial application - All sources of revenue from application distributed via the Opera TV Store (including via in-application advertisements) must be disclosed to Opera in advance
If the above criteria are satisfied, your application undergoes additional testing, to see that it works on our reference devices. Your application may also need to undergo a review process by device manufacturers before being made available on their platforms.
An application that does not satisfy the criteria or fails the testing will be rejected, and you will be given information on the submitted applications page. After you have fixed the problems, you can resubmit the application by clicking the "Upgrade" button next to the package name.
When your application satisfies all criteria, it will be published on the Opera TV Store and you will receive a notification.